
class Solution {
public:
    bool hasCycle(ListNode *head) {
        ListNode *node1=head, *node2=head;
        if(!node1||!(node2=node2->next))
           return false;
        while((node2=node2->next)&&(node2=node2->next)&&(node1=node1->next))
           if(node2==node1)
           		return true;
        return false;
    }
};